#pragma once

#include "Hazel/src/Hazel/core.h"
#ifdef HZ_PLATFORM_WINDOWS

extern Hazel::Application *Hazel::create_application();

int main(int argc, char **argv)
{
    // printf("Hazel Engine");
    Hazel::Log::init();
    HZ_CORE_WARN("Initialized Log!");
    HZ_PROFILE_BEGIN_SESSION("StartUp", "HazelProfile-StartUp.json");
    auto app = Hazel::create_application();
    HZ_PROFILE_END_SESSION();
    HZ_PROFILE_BEGIN_SESSION("Runtime", "HazelProfile-Runtime.json");
    app->run();
    HZ_PROFILE_END_SESSION();
    HZ_PROFILE_BEGIN_SESSION("Shutdown", "HazelProfile-Shutdown.json");
    delete app;
    HZ_PROFILE_END_SESSION();
    return 0;
}
#else
#error Hazel only support for windows
#endif